// 用户信息
export interface MenuState {
    id: number; // 菜单id
    pid: number; // 父级菜单id
    name: string; // 菜单名称
    code: string; // 菜单唯一CODE
    path: string; // 组件路径
    router: string; // 对应路由
    is_common: number; // 是否公共菜单
    button_list: Array<string>; // 操作按钮 code
    type: number; // 菜单类型  1、菜单 2、页面 3、操作
    children: Array<MenuState>; // 子菜单
}

// 套餐信息
export interface PackageInfo {
    startTime: string; // 套餐开始时间
    expireTime: string; // 套餐过期时间
    packageName: string; // 套餐名称
}

// 菜单信息
export interface UserInfo {
    id: number; // 用户id
    loginToken: string; // 登录Token
    phone: any;
}
export interface UserCorp {
    id: number;
    name: string;
}

export interface AccountInfo {
    account_bind: { dou_yi: Array<any>; mp_qw: Array<any>; mp_wx: Array<any> };
    base_info: {
        // 基本信息
        account: string; // 加密的账号（手机号）
        package_expire_time: string;
        package_id: number;
        package_name: string;
        package_start_time: string;
        role_name: string;
        sub_account_limit: number;
        tenant_type: number; // 账号类型 //1-默认 2-地产
        user_name: string;
    };
    owner: {
        id: number;
        name: string;
        phone: string;
    };
    tenant_info: {
        company_body: string;
        company_name: string;
        credit_no: string;
        current_account_count: number;
        legal_person_mobile: string;
        legal_person_name: null | string;
        license_image: null | string;
        sub_account_limit: number;
        verify_status: number;
    };
}

export interface UserState {
    apiList: never[];
    userInfo: UserInfo | null; // 用户信息
    packageInfo: PackageInfo | null; // 套餐信息
    corps: Array<UserCorp>; // 菜单信息
    currentCorp: number | null; // 菜单信息
    accounts: Array<Account> | null; // 企业列表信息
    accountInfo?: AccountInfo | null; // 用户账号信息
    accountStatus?: number | null;
    userMenuList: Array<any>;
}

// 账号企业信息
export interface Account {
    account_type: number;
    user_id: number;
    tenant_id: number;
    corp_id: number;
    corp_name: string;
    role_id: number;
    role_name: string;
}
// 多账号企业选择对象

// 定义 state 类型
export interface InnerState {
    userInfo: UserState;
}
